A database is an important element of most information processing systems. Databases often provides a repository for raw data developed for the information processing system in advance of processing, either for short periods, while the information is being processed or long term (e.g., for archival purposes). Any determinations (i.e., processed results) made by the information processing system may also become part of the information stored in the database. Programming information about the information processing system including boot files and applications programming may also be included in the database.
In general, many large companies would find it difficult to function without a common database. The common database often provides a focus point through which it may coordinate it's efforts. Activities of sales personnel may be tracked, measured and stored in the common database using automatic order entry applications. Other applications may determine a need for and order raw materials for a manufactured product based upon the order entries found within the database. Still further applications may develop and store a production schedule in the database for use by a production department based upon the entered orders and delivery schedules of the ordered raw materials.
Optimization applications within the data processing system may track production performance, such a overall defects or defects per stage of the production process. Textual and graphic displays may display production performance at key processing steps, to reduce rejects and improve quality.
In other manufacturing processes, the data processing system may be relied upon to calculate and provide overall manufacturing operating parameters (e.g., processing temperature, dimensional data, processing time, etc.). Often process monitoring and control may be provided through specific applications running on the data processing system for purposes of tracking and providing closed-loop control of the process.
In other service industries (e.g., telecommunications), a database may be used as a means of tracking services provided. In a public switch telephone network (PSTN), a file may be created for each subscriber and charges appended to the file whenever a call is placed. (Additional charges may be added (or a multiplier used) for long distance calls). Tracking information may also be added to call data stored in the database to indicate a destination and time of the call.
Further, a database is often necessary in the execution of call placement. In performing the call-routing services expected, call-routing data is often stored in a database of the call processing system to allow the call processing system to perform the expected services. For example, a telephone switch must have the capability to differentiate local calls from long distance calls and route those calls appropriately. Often a called number must be compared with a host of call tables to determine how to route the call. Further, once a call destination is determined, a call processor may still have to identify a trunk line (e.g., land lines, T-1 lines, etc.) serving the call destination. Only after determining how to set up the call may the call be completed and the database updated with subsequent billing information.
Private branch exchanges (PBXs) may have similar database needs, but for different reasons. For instance, calls placed from within the PBX must be differentiated as to their destinations being either external or internal. Further, a service level for each call routed to an external destination (out-going call) may need to be determined by a call processor of the PBX by reference to a database during the processing of each call. For example, some telephones within a PBX may be blocked from making external calls. Other telephones may be given access to outside telephone services, but may still be blocked from making long-distance calls.
Following a determination of service level, the call processor may be expected to route the out-going call, again by reference to the database. First the PBX call processor may select an external trunk line connected to the PSTN. Second, the PBX call processor may transfer the called number to the PSTN for further processing and for making the final connection.
Incoming calls to a PBX may also have similar database needs. For example, incoming calls to agents of a service department of a manufacturing organization may be routed via an automatic call distributor (ACD). The organization may have a common telephone number and incoming calls may be placed in a queue and distributed to agents on a first available basis. Further, incoming calls may be overflowed to another ACD when the time in the queue exceeds a threshold value.
Further, specialized applications within the ACD may generate agent performance data (e.g., time per call, calls per day, etc.) which may also be included within the database. Other application may monitor and generate data on the performance of the ACD (e.g., time in queue, call overflows, etc.).
While databases in general have a tremendous utility as sources of data, the computer applications which generate and use those databases are often custom designed. Often the data files are created specifically for the application (and the efficient operation of the application) with no thought to access by other applications (e.g., third-party software). Because of the importance of databases in general, a need exists for a method and apparatus for generating databases that are compatible with third party software.